import configparser

import jieba
import jieba.posseg as pseg

"""
  读取配置文件并返回配置对象

  参数:
  file (str): 配置文件的路径

  返回:
  配置对象 (ConfigParser): 一个配置对象，包含了配置文件中的所有信息

"""
def readConf(file):
    config = configparser.ConfigParser()
    config.read(file, encoding='utf-8')
    return config


"""
    从配置对象 conf 中获取指定节 section 下的键 key 的值
    
    参数:
    conf (ConfigParser): 配置对象
    section (str): 配置文件中的节名
    key (str): 节中的键名
    
    返回:
    值 (str): 键对应的值，如果键不存在，则返回 None
    
    异常:
    KeyError: 如果指定的键在配置对象中不存在，则引发 KeyError 异常
"""
def getValue(conf, section, key):
    return conf[section][key]


def read_conf_info(tag):
    conf = readConf('static/markdown.ini')
    return conf[tag]


def cut_text(text, complex=True):
    result = []
    if complex:
        words = pseg.cut(text)
        for word, flag in words:
            result.append((word, flag))
    else:
        words = jieba.cut(text, cut_all=False)
        for word in words:
            result.append((word, '?'))
    return result
